﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;

using System.Collections.ObjectModel;

namespace WcfAfvandingServiceLibrary
{
    public static class Constants
    {
        public const string URI = "net.tcp://localhost:12345/";
    }

    //[Serializable]
    //public class KanalDTO
    //{
    //    public double Vandstand { get; set; }
    //}

    //[Serializable]
    //public class PumpestationDTO
    //{
    //    public int PumpestationsId { get; set; }
    //    public string Netværksadresse { get; set; }
    //    public string Ipadresse { get; set; }
    //    public int Portnummer { get; set; }
    //    public string Vandstand { get; set; }
    //}

    [ServiceContract]
    public interface IAfvandingL
    {
        [OperationContract]
        void OpretPumpestation(string netværksadresse, string ipAdresse, int portnummer, string vandstand);

        [OperationContract]
        void OpretPumpe(double vandkapacitet, bool kører, int pumpestationsId);

        [OperationContract]
        void RetPumpestation(string netværksadresse, string ipAdresse, int portnummer, string vandstand);

        [OperationContract]
        void RetPumpe(double vandkapacitet, bool kører);

        [OperationContract]
        void SletPumpestation(int pumpestationsId);

        [OperationContract]
        void SletPumpe(int pumpeId);

        [OperationContract]
        ObservableCollection<Pumpestation> MinePumpestationer();

        [OperationContract]
        ObservableCollection<Pumpe> MinePumper(int pumpestationsId);

        [OperationContract]
        string StartPumpe(int pumpeId, int pumpestationsId);

        [OperationContract]
        void StopPumpe(int pumpeId);
    }
}
